gtk4.git
7 years agosearch bar: Work with the new GtkSearchEntry
Matthias Clasen [Sun, 17 Feb 2019 04:58:06 +0000 (23:58 -0500)]
search bar: Work with the new GtkSearchEntry

Don't assume a search entry is an entry, and use
the editable api as far as possible.

7 years agosearch entry: Use a GtkText
Matthias Clasen [Sun, 17 Feb 2019 04:57:18 +0000 (23:57 -0500)]
search entry: Use a GtkText

7 years agoAdd a test for GtkPassworkEntry
Matthias Clasen [Sun, 17 Feb 2019 03:22:43 +0000 (22:22 -0500)]
Add a test for GtkPassworkEntry

7 years agoAdd GtkPasswordEntry
Matthias Clasen [Sun, 17 Feb 2019 03:21:57 +0000 (22:21 -0500)]
Add GtkPasswordEntry

This is a simple editable which hides the entered
text and shows a caps-lock warning.

7 years agoentry completion: Make this work again
Matthias Clasen [Mon, 18 Feb 2019 04:03:27 +0000 (23:03 -0500)]
entry completion: Make this work again

Connect to GtkText signals where necessary.

7 years agotreeview: use a GtkText as search entry
Matthias Clasen [Sat, 16 Feb 2019 17:29:48 +0000 (12:29 -0500)]
treeview: use a GtkText as search entry

7 years agotreeview: Disable some search entry functionality
Matthias Clasen [Sat, 16 Feb 2019 05:53:09 +0000 (00:53 -0500)]
treeview: Disable some search entry functionality

This needs to be rewritten. Until then, keep it limping along.

7 years agosearch entry: temporarily disable some functions
Matthias Clasen [Sat, 16 Feb 2019 05:52:20 +0000 (00:52 -0500)]
search entry: temporarily disable some functions

The search entry needs to be rewritten to use a
text child until then, keep it limping along.

7 years agospin button: Use GtkText
Matthias Clasen [Sat, 16 Feb 2019 02:01:33 +0000 (21:01 -0500)]
spin button: Use GtkText

We already use GtkEditable api throughout. This just
means we create a GtkText instead of a GtkEntry.

7 years agoentry accessible: Make this work with the text widget
Matthias Clasen [Sat, 16 Feb 2019 05:50:12 +0000 (00:50 -0500)]
entry accessible: Make this work with the text widget

7 years agoentry: Delegate to GtkText
Matthias Clasen [Sat, 16 Feb 2019 05:50:40 +0000 (00:50 -0500)]
entry: Delegate to GtkText

Use a GtkText child, and delegate the editable functionality
to it. Also forward all the properties that are provided by
GtkText.

Some of the more internal APIs, such as layout and im context
access and caps-lock warning, are removed here, but we preserve
most of the plain GtkEntry API by forwarding it to the GtkText
child.

7 years agoAdd a GtkTextAccessible
Matthias Clasen [Sat, 16 Feb 2019 02:30:36 +0000 (21:30 -0500)]
Add a GtkTextAccessible

Add an accessible implementation for GtkText.

7 years agoMake emoji completion work for GtkText
Matthias Clasen [Fri, 15 Feb 2019 20:46:51 +0000 (15:46 -0500)]
Make emoji completion work for GtkText

GtkEntry will stop using it directly in the following commits.

7 years agoAdd a GtkText widget
Matthias Clasen [Thu, 14 Feb 2019 01:16:12 +0000 (20:16 -0500)]
Add a GtkText widget

This is a GtkEntry without any of the extras, such as
icons, completion, progress, caps-lock warning, emoji icon.

7 years agospin button: Implement and use editable interface
Matthias Clasen [Thu, 14 Feb 2019 05:54:07 +0000 (00:54 -0500)]
spin button: Implement and use editable interface

7 years agoentry: Implement new editable iface
Matthias Clasen [Thu, 14 Feb 2019 04:07:36 +0000 (23:07 -0500)]
entry: Implement new editable iface

7 years agoeditable: Add more to interface
Matthias Clasen [Thu, 14 Feb 2019 01:16:33 +0000 (20:16 -0500)]
editable: Add more to interface

Add all the things to the GtkEditable interface that
make sense for most implementations.

7 years agoa11y: Update assistant test output
Matthias Clasen [Sun, 17 Feb 2019 20:36:45 +0000 (15:36 -0500)]
a11y: Update assistant test output

This changed as part of the recent cleanup that removed
some internal boxing.

7 years agoflowbox: Implement get_child_at_pos properly
Timm Bäder [Thu, 14 Feb 2019 06:11:34 +0000 (07:11 +0100)]
flowbox: Implement get_child_at_pos properly

With transforms in the mix, checking if the coordinate is inside the
widget "allocation" makes even less sense. Just use gtk_widget_pick()
and walk up until we find a GtkFlowBoxChild.

7 years agowidget: Push a transform node if we need to
Timm Bäder [Sat, 16 Feb 2019 14:29:05 +0000 (15:29 +0100)]
widget: Push a transform node if we need to

This is the same as the old code since the transformation only contains
teh offset right now, but it will be different later where arbitrary
transformations are possible per widget.

7 years agowidget: Save transform as matrix
Timm Bäder [Sat, 16 Feb 2019 13:40:49 +0000 (14:40 +0100)]
widget: Save transform as matrix

The transform matrix is a translation matrix from the parent's origin to
the widget origin. We will later allow more transformations than just
translations.

7 years agopaned: Implement increased handle area using pick()
Timm Bäder [Wed, 13 Feb 2019 14:37:54 +0000 (15:37 +0100)]
paned: Implement increased handle area using pick()

Otherwise, we do report the widgets below the invisible handle area as
hovered or active.

7 years agoMerge branch 'wip/otte/boxes' into 'master'
Matthias Clasen [Fri, 15 Feb 2019 16:12:26 +0000 (16:12 +0000)]
Merge branch 'wip/otte/boxes' into 'master'

GtkCssBoxes

See merge request GNOME/gtk!584

7 years agoMerge branch 'assistant-cleanup' into 'master'
Matthias Clasen [Fri, 15 Feb 2019 15:54:53 +0000 (15:54 +0000)]
Merge branch 'assistant-cleanup' into 'master'

Assistant cleanup

See merge request GNOME/gtk!581

7 years agoDrop GtkAssistantPage::has-padding
Matthias Clasen [Thu, 14 Feb 2019 19:46:01 +0000 (14:46 -0500)]
Drop GtkAssistantPage::has-padding

This is causing us some internal complications, and
it is very easy to just add padding to the pages
yourself.

7 years agoassistant: Use a stack
Matthias Clasen [Thu, 14 Feb 2019 19:07:46 +0000 (14:07 -0500)]
assistant: Use a stack

We don't use any non-stack features of the notebook here.

7 years agoassistant: Add docs
Matthias Clasen [Thu, 14 Feb 2019 19:29:54 +0000 (14:29 -0500)]
assistant: Add docs

Without this, introspection complains about a missing
transfer annotation.

7 years agosingleselection: Make tests build without warnings
Matthias Clasen [Fri, 15 Feb 2019 15:20:48 +0000 (10:20 -0500)]
singleselection: Make tests build without warnings

7 years agocss: Pass boxes to the render functions
Benjamin Otte [Fri, 15 Feb 2019 05:15:50 +0000 (06:15 +0100)]
css: Pass boxes to the render functions

Instead of style + rect_of_one_box, pass the new GtkCssBoxes object.
This has the nice side effect that when drawing background + border +
outline, we only compute all the boxes we need once.

7 years agocss: Mark some hot functions as G_GNUC_PURE
Benjamin Otte [Fri, 15 Feb 2019 03:06:22 +0000 (04:06 +0100)]
css: Mark some hot functions as G_GNUC_PURE

By doing that, gcc will generate code that avoids calling these
functions when not needed.

7 years agowidget: Make width, height and transform be widget-relative
Benjamin Otte [Fri, 15 Feb 2019 02:49:05 +0000 (03:49 +0100)]
widget: Make width, height and transform be widget-relative

Previously, those numbers stored the values relative to the margin box
of the widget. Now they store values relative to the content box,
thereby getting rid of the last remains of weird coordinate systems.

7 years agocssboxes: Introduce
Benjamin Otte [Fri, 15 Feb 2019 01:57:46 +0000 (02:57 +0100)]
cssboxes: Introduce

Split out the code for computing CSS boxes from given variables from the
background render code. This way, it can be shared between different
codebases.

Also, make that code completely be contained of static inline functions.
That ensures that it can be 100% inlined in cases where only parts of
the rectangle are needed (like in gtk_widget_get_width() in the future).

This will require some more patches to actually work, but those will
follow.

7 years agowidget: Store the render node in the widget's coordinate system
Benjamin Otte [Sun, 10 Feb 2019 05:26:41 +0000 (06:26 +0100)]
widget: Store the render node in the widget's coordinate system

Also require gtk_widget_snapshot() to be in the widget's coordinate
system.

7 years agoroot: Move the renderer to the root
Benjamin Otte [Sun, 10 Feb 2019 00:06:39 +0000 (01:06 +0100)]
root: Move the renderer to the root

7 years agoroot: Add gtk_root_get_surface_transform()
Benjamin Otte [Sat, 9 Feb 2019 21:15:32 +0000 (22:15 +0100)]
root: Add gtk_root_get_surface_transform()

The function isn't used yet, so this is just infrastructure.

7 years agoroot: Add GtkRoot:get_display vfunc
Benjamin Otte [Sun, 29 Jul 2018 02:11:14 +0000 (04:11 +0200)]
root: Add GtkRoot:get_display vfunc

And use it.

7 years agowidget: Add a GtkWidget::root property and gtk_widget_get_root()
Benjamin Otte [Sun, 29 Jul 2018 01:40:52 +0000 (03:40 +0200)]
widget: Add a GtkWidget::root property and gtk_widget_get_root()

The property is just for API completeness, the getter is meant to
replace toplevel usage.

7 years agowidget: Add GtkWidgetClass:root and :unroot functions
Benjamin Otte [Sun, 29 Jul 2018 01:31:36 +0000 (03:31 +0200)]
widget: Add GtkWidgetClass:root and :unroot functions

They get added whenever a widget gets added into a hierarchy with a root
widget.

7 years agowidget: Remove toplevel flag
Benjamin Otte [Fri, 6 Apr 2018 18:30:34 +0000 (20:30 +0200)]
widget: Remove toplevel flag

Instead, rely on GTK_IS_ROOT().

Also implement GtkRoot on GtkWindow and GtkInvisible, the two widgets
that used to set the toplevel flag before.

7 years agogtk: Add the GtkRoot interface
Benjamin Otte [Fri, 6 Apr 2018 18:21:06 +0000 (20:21 +0200)]
gtk: Add the GtkRoot interface

So far, this doesn't do anything.

7 years agowidget: Move compuatation of what changed further up
Benjamin Otte [Sat, 9 Feb 2019 04:28:44 +0000 (05:28 +0100)]
widget: Move compuatation of what changed further up

This way, we can compare with literally the previous allocation and the
size will not be influenced by an adjusted allocation.

But more importantly, we can now use the transform/width/height values
for other stuff.

7 years agowidget: Split up priv->allocation
Benjamin Otte [Sat, 9 Feb 2019 02:03:59 +0000 (03:03 +0100)]
widget: Split up priv->allocation

It's not priv->transform (to be turned into a graphene matrix),
priv->width and priv->height.

The numbers are still the same.
The only difference is that unallocated widgets will now have x/y set to
0, not to -1.

7 years agocontainer: Drop gtk_container_check_resize()
Benjamin Otte [Sat, 9 Feb 2019 00:44:10 +0000 (01:44 +0100)]
container: Drop gtk_container_check_resize()

Instead, hardcode GtkWindow for now.
The code for non-windows was entirely broken.

7 years agowindow: Properly detect if size allocation is needed
Benjamin Otte [Tue, 12 Feb 2019 01:20:36 +0000 (02:20 +0100)]
window: Properly detect if size allocation is needed

Instead of looking at the allocation, just look at the alloc_needed
widget flag that tracks if an allocation is needed.

7 years agosimpleselection: Improve items-changed
Benjamin Otte [Mon, 11 Feb 2019 05:01:19 +0000 (06:01 +0100)]
simpleselection: Improve items-changed

Make items-changed never emit 2 signals, instead, always emit only one,
potentially by extending the range reported in items-changed.

And be a lot more exhaustive about autoselect tests.

7 years agoselectionmodel: Change prototype of query_range()
Benjamin Otte [Mon, 11 Feb 2019 03:57:46 +0000 (04:57 +0100)]
selectionmodel: Change prototype of query_range()

1. Do not make position an inout variable
The function is meant to return a range for a given position, not modify
a position. So it makes no conceptual sense to use an inout variable.
2. Pass the selected state as an out variable
Using a boolean return value - in particular in an interface full of
boolean return values - makes the return value intuitively feel like a
success/failure return. Using an out variable clarifies the usage.
3. Allow passing every position value
Define what happens when position >= list.n_items
4. Clarify the docs about how this function should behave
In particular, mention the case from point (3)
5. Add more tests
Again, (3) needs testing.

7 years agooverlay: Remove hack for scrolled windows
Benjamin Otte [Sat, 9 Feb 2019 03:01:45 +0000 (04:01 +0100)]
overlay: Remove hack for scrolled windows

It's not needed now that we don't use scrollbars or overlays inside
scrolled windows anymore.

7 years agoUpdated Slovenian translation
Matej Urbančič [Thu, 14 Feb 2019 17:31:28 +0000 (18:31 +0100)]
Updated Slovenian translation

7 years agostack: Fix a crash
Matthias Clasen [Thu, 14 Feb 2019 17:24:22 +0000 (12:24 -0500)]
stack: Fix a crash

We need to remove the weak pointer, as the stack switcher can
keep the list model alive beyond the stack. This was observed
to cause crashes:

==16870== Invalid write of size 8
==16870==    at 0x5168A4E: g_nullify_pointer (gutils.c:2284)
==16870==    by 0x522C500: weak_refs_notify (gobject.c:2791)
==16870==    by 0x50FE7BC: g_data_set_internal (gdataset.c:407)
==16870==    by 0x50FECA7: g_datalist_id_set_data_full (gdataset.c:670)
==16870==    by 0x5227EB4: g_object_real_dispose (gobject.c:1056)
==16870==    by 0x522D295: g_object_unref (gobject.c:3309)
==16870==    by 0x4AF849F: unset_stack (gtkstackswitcher.c:428)
==16870==    by 0x4AF892E: gtk_stack_switcher_dispose (gtkstackswitcher.c:527)

7 years agoassistant: Add a pages property
Matthias Clasen [Wed, 13 Feb 2019 23:27:25 +0000 (18:27 -0500)]
assistant: Add a pages property

This is mainly useful to make the page objects
accessible in the inspector.

7 years agoExempt "pages" properties from defaultvalue test
Matthias Clasen [Wed, 13 Feb 2019 23:14:48 +0000 (18:14 -0500)]
Exempt "pages" properties from defaultvalue test

Ironically, these properties are too good - they always
give you a proper value, which is unfortunately different
from the declared default value, which is NULL. So, don't
check these.

7 years agoinspector: Support list model properties
Matthias Clasen [Wed, 13 Feb 2019 20:08:17 +0000 (15:08 -0500)]
inspector: Support list model properties

This is just a very quick hack for a property editor
that allows to drill down into list models.

7 years agostack: Add a pages property
Matthias Clasen [Wed, 13 Feb 2019 19:14:54 +0000 (14:14 -0500)]
stack: Add a pages property

This makes the list model available in the inspector.

7 years agoinspector: Make object property inspection work again
Matthias Clasen [Wed, 13 Feb 2019 18:41:15 +0000 (13:41 -0500)]
inspector: Make object property inspection work again

This was lost when porting to GtkListView.

7 years agoinspector: Add an api to activate an object
Matthias Clasen [Wed, 13 Feb 2019 18:40:40 +0000 (13:40 -0500)]
inspector: Add an api to activate an object

This will be used to make object property inspection
work again.

This will be used to make object property inspection
work againn

7 years agoinspector: Fix selecting objects with a next tab
Matthias Clasen [Wed, 13 Feb 2019 18:04:00 +0000 (13:04 -0500)]
inspector: Fix selecting objects with a next tab

This was causing criticals.

7 years agoAdd a missing icon
Matthias Clasen [Wed, 13 Feb 2019 17:47:11 +0000 (12:47 -0500)]
Add a missing icon

The view-refresh-symbolic icon is used in the data list
of the inspector. So ship it in gtk. No need to have
it in the demos, then.

7 years agostack: Don't emit bad ::selection-changed signals
Matthias Clasen [Wed, 13 Feb 2019 14:01:07 +0000 (09:01 -0500)]
stack: Don't emit bad ::selection-changed signals

We have to be careful to not pass bad numbers to
this signal, which was happening in cases where
we have on old or new selected item.

7 years agostack: Fix a corner-case
Matthias Clasen [Wed, 13 Feb 2019 14:00:00 +0000 (09:00 -0500)]
stack: Fix a corner-case

When the stack goes empty, we were failing to reset
the visible_child member to NULL, causing problems later
on, since we don't have a ref for it.

7 years agostack: Don't leak a reference
Matthias Clasen [Wed, 13 Feb 2019 13:42:58 +0000 (08:42 -0500)]
stack: Don't leak a reference

The page holds a reference to the widget, so can't just clear
this pointer.

7 years agostack: Avoid some ugly unrefs
Matthias Clasen [Wed, 13 Feb 2019 13:40:13 +0000 (08:40 -0500)]
stack: Avoid some ugly unrefs

Instead of using the list model api that forces us
to drop the ref, just work with the list we have.

7 years agoselection model: Add sanity checks
Matthias Clasen [Wed, 13 Feb 2019 13:38:30 +0000 (08:38 -0500)]
selection model: Add sanity checks

It is easy to emit wrong ::selection-changed signals,
and then bad things will usually happen later. Add
some sanity checks to gtk_selection_model_selection_changed
to make this easier to track down.

7 years agoMerge branch 'included-icons' into 'master'
Matthias Clasen [Wed, 13 Feb 2019 03:33:16 +0000 (03:33 +0000)]
Merge branch 'included-icons' into 'master'

Included icons

See merge request GNOME/gtk!580

7 years agoUpdate check-icon-names tests
Matthias Clasen [Wed, 13 Feb 2019 02:35:54 +0000 (21:35 -0500)]
Update check-icon-names tests

Drop icons that are only used by demos, and check for ones
that are actually used in gtk.

7 years agogtk-demo: Include our own icons
Matthias Clasen [Wed, 13 Feb 2019 00:44:13 +0000 (19:44 -0500)]
gtk-demo: Include our own icons

Add enough icons as resources that gtk4-demo
works without an installed icon theme.

7 years agostack demo: Use the proper icon name
Matthias Clasen [Wed, 13 Feb 2019 01:25:06 +0000 (20:25 -0500)]
stack demo: Use the proper icon name

The gtk-demo logo was renamed. Follow suit.

7 years agosidebar demo: Use an existing icon
Matthias Clasen [Wed, 13 Feb 2019 01:24:27 +0000 (20:24 -0500)]
sidebar demo: Use an existing icon

The help-about icon is legacy and not available in large sizes.
Just use the gtk-demo logo.

7 years agowidget-factory: Include our own icons
Matthias Clasen [Wed, 13 Feb 2019 00:05:03 +0000 (19:05 -0500)]
widget-factory: Include our own icons

Add enough icons as resources that gtk4-widget-factory
works without an installed icon theme.

7 years agopage setup dialog: Use theme icons
Matthias Clasen [Tue, 12 Feb 2019 22:44:20 +0000 (17:44 -0500)]
page setup dialog: Use theme icons

We have non-gtk-specific icons in the icon theme for this
now, so drop the gtk-orientation icons and use the theme
ones instead.

7 years agospin button: Use guaranteed icons
Matthias Clasen [Tue, 12 Feb 2019 20:24:55 +0000 (15:24 -0500)]
spin button: Use guaranteed icons

We guarantee value-increase/decrease-symbolic now, no need
for fallback anymore.

7 years agoresources: Include more icons
Matthias Clasen [Tue, 22 Jan 2019 22:27:15 +0000 (17:27 -0500)]
resources: Include more icons

Include all the icons that gtk is using itself.
For now, we include size 16 and scalable, to keep
the size limited.

7 years agoresources: Include more icon directories
Matthias Clasen [Tue, 12 Feb 2019 17:40:17 +0000 (12:40 -0500)]
resources: Include more icon directories

We are going to include all the icons that are
used by gtk itself. Prepare for that by including
the necessary subdirectories from the icon theme.

7 years agoicon theme: Remove fallbacks
Matthias Clasen [Tue, 12 Feb 2019 18:31:58 +0000 (13:31 -0500)]
icon theme: Remove fallbacks

We want to include all needed icons as resources,
so disable the fallbacks and see what comes up.

7 years agoAdd image-missing to the internal icons
Matthias Clasen [Tue, 12 Feb 2019 17:13:05 +0000 (12:13 -0500)]
Add image-missing to the internal icons

We assert if image-missing is missing,
so life is better if
we can guarantee that it is available.

7 years agotestsuite: Consider bookmark-new as required icon
Matthias Clasen [Tue, 12 Feb 2019 17:56:23 +0000 (12:56 -0500)]
testsuite: Consider bookmark-new as required icon

This was missing from the list.

7 years agoRever more of the icon shadow commit
Timm Bäder [Tue, 12 Feb 2019 05:33:41 +0000 (06:33 +0100)]
Rever more of the icon shadow commit

Even adjusting the icon size is wrong for GTK4.

7 years agoRevert a non-working addition
Matthias Clasen [Mon, 14 Jan 2019 02:56:00 +0000 (21:56 -0500)]
Revert a non-working addition

Cell rendererers don't support <style> in ui files.

7 years agoTheme: add helper class names for Adwaita
Jakub Steiner [Mon, 10 Dec 2018 13:16:52 +0000 (14:16 +0100)]
Theme: add helper class names for Adwaita

- helps legibility of app icons

Addresses https://gitlab.gnome.org/GNOME/gtk/issues/1434

7 years agoabout dialog: Adapt to new stack visiblity handling
Matthias Clasen [Tue, 12 Feb 2019 05:10:00 +0000 (00:10 -0500)]
about dialog: Adapt to new stack visiblity handling

We need to set the visible property of the stack pages
now.

7 years agoUpdate POTFILES.in
Piotr Drąg [Mon, 11 Feb 2019 21:27:57 +0000 (22:27 +0100)]
Update POTFILES.in

7 years agoMerge branch 'fix-fishbowl' into 'master'
Matthias Clasen [Mon, 11 Feb 2019 16:48:25 +0000 (16:48 +0000)]
Merge branch 'fix-fishbowl' into 'master'

gtk-demo: Fix fishbowl setup

Closes #1665

See merge request GNOME/gtk!578

7 years agogtk-demo: Fix fishbowl setup
Matthias Clasen [Mon, 11 Feb 2019 13:24:06 +0000 (08:24 -0500)]
gtk-demo: Fix fishbowl setup

The fishbowl demo was failing to reset a static variable
when setting up, causing it to crash the second time around.

Closes: #1665
7 years agoMerge branch 'stack-fixes' into 'master'
Matthias Clasen [Mon, 11 Feb 2019 04:40:33 +0000 (04:40 +0000)]
Merge branch 'stack-fixes' into 'master'

Stack <> switcher api changes

See merge request GNOME/gtk!570

7 years agoExclude some tests on too-old glib
Matthias Clasen [Mon, 11 Feb 2019 04:04:44 +0000 (23:04 -0500)]
Exclude some tests on too-old glib

I'm coming to the conclusion that the ci test
failures are due to a recently fixed bug in
GListStore.

7 years agoadd more autoselect tests
Matthias Clasen [Mon, 11 Feb 2019 03:19:28 +0000 (22:19 -0500)]
add more autoselect tests

7 years agoReorder tests
Matthias Clasen [Mon, 11 Feb 2019 02:15:57 +0000 (21:15 -0500)]
Reorder tests

Trying to get to the bottom of a ci failure

7 years agoselection tests: Plug a memory leak
Matthias Clasen [Mon, 11 Feb 2019 02:08:44 +0000 (21:08 -0500)]
selection tests: Plug a memory leak

7 years agoMerge branch 'fix-typo' into 'master'
Matthias Clasen [Sun, 10 Feb 2019 23:44:16 +0000 (23:44 +0000)]
Merge branch 'fix-typo' into 'master'

typo correction

See merge request GNOME/gtk!573

7 years agostack: Drop the position property
Matthias Clasen [Fri, 8 Feb 2019 23:32:28 +0000 (18:32 -0500)]
stack: Drop the position property

GtkStackSwitcher and GtkStackSidebar no longer
use the GtkStackPage::position property, so we
don't need to maintain it anymore.

7 years agostack sidebar: Use the selection model
Matthias Clasen [Fri, 8 Feb 2019 23:27:10 +0000 (18:27 -0500)]
stack sidebar: Use the selection model

Make GtkStackSidebar and GtkStack communicate via
the selection model that GtkStack now exposes.

This is parallel to the GtkStackSwitcher changes
in the previous commit.

7 years agoa11y tests: Adapt to changes
Matthias Clasen [Sun, 10 Feb 2019 03:47:13 +0000 (22:47 -0500)]
a11y tests: Adapt to changes

The buttons in the stack switcher are now toggle buttons, no
longer radio buttons. Update expected output for that.

7 years agostack switcher: Use the selection model
Matthias Clasen [Sat, 9 Feb 2019 01:38:01 +0000 (20:38 -0500)]
stack switcher: Use the selection model

Make GtkStackSwitcher and GtkStack communicate via
the selection model that GtkStack now exposes.

7 years agostack: Provide a selection model
Matthias Clasen [Sun, 10 Feb 2019 23:22:54 +0000 (18:22 -0500)]
stack: Provide a selection model

Make GtkStack expose a selection model for its pages.
The model can be used to track changes to the pages,
and to change what child is visible.

7 years agostack: Add a GtkStackPage::visible property
Matthias Clasen [Sun, 10 Feb 2019 23:13:03 +0000 (18:13 -0500)]
stack: Add a GtkStackPage::visible property

This will let GtkStackSwitcher track visibility
without having to interact with the widgets directly.

7 years agotestsuite: omit some selection properties
Matthias Clasen [Sun, 10 Feb 2019 03:54:37 +0000 (22:54 -0500)]
testsuite: omit some selection properties

The selected property of GtkSingleSelection is not
freely settable, so omit it from notification tests.

7 years agotestsuite: Add selection model tests
Matthias Clasen [Sun, 6 Jan 2019 17:57:42 +0000 (12:57 -0500)]
testsuite: Add selection model tests

7 years agogtk: Add GtkSingleSelection
Benjamin Otte [Wed, 3 Oct 2018 16:51:52 +0000 (18:51 +0200)]
gtk: Add GtkSingleSelection

GtkSingleSelection is a GtkSelectionModel that allows selecting a single
item.

7 years agogtk: Add GtkSelectionModel
Benjamin Otte [Wed, 3 Oct 2018 16:49:48 +0000 (18:49 +0200)]
gtk: Add GtkSelectionModel

The selection model is a list model interface that takes care of
selections and is to be used by the list model widgets to manage their
selections.

7 years agogtk-demo: Fix the sidebar demo
Matthias Clasen [Fri, 8 Feb 2019 23:27:56 +0000 (18:27 -0500)]
gtk-demo: Fix the sidebar demo

It was still using child properties.

7 years agodemo: Fix fishbowl default togglebutton state
Timm Bäder [Sun, 10 Feb 2019 15:42:17 +0000 (16:42 +0100)]
demo: Fix fishbowl default togglebutton state